package com.movitech.mobile.cz.base.purchase.entity;

import com.baomidou.mybatisplus.annotations.TableField;
import com.baomidou.mybatisplus.annotations.TableId;
import com.baomidou.mybatisplus.annotations.TableName;
import com.baomidou.mybatisplus.enums.FieldStrategy;
import com.baomidou.mybatisplus.enums.IdType;
import com.movitech.mobile.cz.base.modules.entity.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import java.util.Date;
/**
 * <p>
 * 专项采购计划
 * </p>
 *
 * @author Movitech Mobile
 * @since 2018-04-16
 */
@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@TableName("p_special_purchase_plan")
@ApiModel
public class PSpecialPurchasePlan extends BaseEntity {

    private static final long serialVersionUID = 1L;

    @TableId(value = "id", type = IdType.ID_WORKER_STR)
    private String id;
    /**
     * 合约规划id
     */
    @ApiModelProperty(value = "合约规划id")
    @TableField(strategy = FieldStrategy.IGNORED,value="contact_plan_id")
    private String contactPlanId;
    /**
     * 地区公司id
     */
    @ApiModelProperty(value = "地区公司id")
    @TableField("regional_company_id")
    private String regionalCompanyId;
    /**
     * 项目id
     */
    @ApiModelProperty(value = "项目id")
    @TableField("project_id")
    private String projectId;
    /**
     * 项目分期
     */
    @ApiModelProperty(value = "项目分期")
    @TableField("project_by_stage")
    private String projectByStage;
    /**
     * 合约id
     */
    @ApiModelProperty(value = "合约id")
    @TableField(value="contract_id",strategy = FieldStrategy.IGNORED)
    private String contractId;
    /**
     * 合约名称
     */
    @ApiModelProperty(value = "合约名称")
    @TableField(value="contract_name",strategy = FieldStrategy.IGNORED)
    private String contractName;
    /**
     * 合约编码
     */
    @ApiModelProperty(value = "合约编码")
    @TableField(value="contract_code",strategy = FieldStrategy.IGNORED)
    private String contractCode;
    /**
     * 采购项名称
     */
    @ApiModelProperty(value = "采购项名称")
    @TableField("purchase_item_name")
    private String purchaseItemName;
    /**
     * 采购分类
     */
    @ApiModelProperty(value = "采购分类")
    @TableField("purchase_classification")
    private String purchaseClassification;
    /**
     * 采购主体
     */
    @ApiModelProperty(value = "采购主体")
    @TableField("procuring_entity")
    private String procuringEntity;
    /**
     * 发包人
     */
    @ApiModelProperty(value = "发包人")
    @TableField("originator_user")
    private String originatorUser;
    /**
     * 采购方式
     */
    @ApiModelProperty(value = "采购方式")
    @TableField("purchase_type")
    private Integer purchaseType;
    /**
     * 标段数量
     */
    @ApiModelProperty(value = "标段数量")
    @TableField("segments_number")
    private Integer segmentsNumber;
    /**
     * 图纸完成时间
     */
    @ApiModelProperty(value = "图纸完成时间")
    @TableField("draw_complete_time")
    private Date drawCompleteTime;
    /**
     * 技术及管理要求完成时间
     */
    @ApiModelProperty(value = "技术及管理要求完成时间")
    @TableField("tech_manage_required_cmp_time")
    private Date techManageRequiredCmpTime;
    /**
     * 计划采购方案完成时间
     */
    @ApiModelProperty(value = "计划采购方案完成时间")
    @TableField("plan_purchase_plan_cmp_time")
    private Date planPurchasePlanCmpTime;
    /**
     * 计划定标完成时间
     */
    @ApiModelProperty(value = "计划定标完成时间")
    @TableField("plan_calibration_cmp_time")
    private Date planCalibrationCmpTime;
    /**
     * 计划合同签订时间
     */
    @ApiModelProperty(value = "计划合同签订时间")
    @TableField("plan_contract_signed_time")
    private Date planContractSignedTime;
    /**
     * 计划进场时间
     */
    @ApiModelProperty(value = "计划进场时间")
    @TableField("plan_entry_time")
    private Date planEntryTime;
    /**
     * 经办人
     */
    @ApiModelProperty(value = "经办人")
    @TableField("handle_user")
    private String handleUser;
    /**
     * 状态
     */
    @ApiModelProperty(value = "状态")
    @TableField("plan_status")
    private Integer planStatus;
    /**
     * 变动标记（0：否，1：是）
     */
    @ApiModelProperty(value = "变动标记（0：否，1：是）")
    @TableField("change_flag")
    private Integer changeFlag;
    /**
     * 计划预算核准金额
     */
    @ApiModelProperty(value = "计划预算核准金额")
    @TableField("plan_budget_prices")
    private Double planBudgetPrices;
    /**
     * 计划预算核准时间
     */
    @ApiModelProperty(value = "计划预算核准时间")
    @TableField("plan_budget_time")
    private Date planBudgetTime;

    @ApiModelProperty(value = "计划采购方案确认时间")
    @TableField("purchase_plan_confirm_time")
    private Date purchasePlanConfirmTime;

    @ApiModelProperty(value = "计划定标确认时间")
    @TableField("plan_calibration_confirm_time")
    private Date planCalibrationConfirmTime;


}
